УСТРОЙСТВО ДЛЯ ОТЛАДКИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

Федорцов А.О., Долинский М.С.
Гомельский государственный университет им. Ф. Скорины
fedortsov@gsu.by (0232) 57-91-92


Уже многие годы в области электроники наблюдается устойчивая тенденция расширения сфер применения цифровых и микропроцессорных систем. В связи с этим все более важное значение приобретают средства проектирования и отладки таких систем. Программные отладочные средства моделируют проектируемую систему или отдельные узлы, а аппаратно–программные средства как правило призваны их эмулировать. При эмуляции отладочное устройство полностью или частично подменяет функции отлаживаемой системы и добавляет возможность эффективно собирать и анализировать промежуточные данные и управлять ходом отлаживаемой программы. Об одном из таких устройств пойдет речь в этой статье.

Назначение этого устройства – эмуляция микропроцессоров и микроконтроллеров различных типов, а также ПЗУ и ОЗУ. Основой для подобной многофункциональности служит модульная конструкция. Прибор состоит из базового модуля и набора сменных модулей, выбираемых исходя из того, какие устройства будут эмулироваться. Устройство предназначено для работы совместно с управляющей ЭВМ на которой запускается соответствующее программное обеспечение, в качестве канала обмена выбирается один из параллельных интерфейсов ЭВМ.

Структурная схема устройства приведена на рис.1. Как отмечалось ранее, прибор состоит из двух модулей – базового и сменного. В состав базового модуля входит блок управления, память программ/данных, память точек останова, блок карты памяти, блок обмена данными, а также буферные элементы. Таким образом в базовом модуле сосредоточены все необходимые для эффективной эмуляции блоки. Это позволяет значительно упростить схемотехнику и конструкцию сменных модулей. Для эмуляции микропроцессоров/микроконтроллеров (МП.МК) в состав сменного модуля бывает достаточно включить сам МП/МК и генератор тактовых импульсов. В некоторых случаях могут понадобиться дополнительные буферные и логические элементы. В целях эмуляции ПЗУ/ОЗУ в сменный модуль содержит буфер и логическую схему формирования сигналов чтения/записи.

Опишем работу устройства на примере отладки системы на базе МП/МК. При этом прибор может быть использован в качестве эмулятора МП/МК (расширенные функциональные возможности, но ограниченный набор поддерживаемых МП/МК), либо в качестве эмулятора ПЗУ/ОЗУ (произвольные МП/МК, ограниченные возможности отладки). Будем считать, что устройство эмулирует МП/МК. В этом случае целевой МП/МК извлекается из отлаживаемого прибора, а вместо него, при помощи специального разъема, расположенного на сменном модуле, включается устройство для отладки.

В начале сеанса отладки устройство инициализируется. При этом разрешается доступ с ЭВМ к памяти программ/данных и точек останова, а также к блоку карты памяти. Затем пользователь вводит и редактирует программу, предназначенную для отладки, пользуясь средствами инструментальной ЭВМ. После редактирования, при помощи блока управления и буферного элемента, программа пользователя заносится в память программ/данных отладочного устройства. Туда же записывается системная программа – монитор, предназначенная для управления процессом обмена данными между инструментальной ЭВМ и отлаживаемой системой. В память точек останова заносится информация об установленных пользователем контрольных точках, в которых МП/МК необходимо прервать выполнение программы и передать данные о состоянии ресурсов отлаживаемой системы на инструментальную ЭВМ. Блок карты памяти предназначен для хранения информации о распределении адресов памяти программ/данных между отлаживаемой системой и отладочным устройством (при этом обеспечивается возможность выборочной эмуляции участков программ и данных пользователя).

После записи всей необходимой для эмуляции информации управление передается целевому МП/МК. При этом буфер, связывающий устройство с инструментальной ЭВМ переводится в третье состояние, а другой буфер переводится из третьего состояния в активное. Таким образом, МП/МК получает доступ к памяти программ/данных и начинает выполнение программы пользователя.

Программа пользователя может выполняться в одном из трех режимов – реального времени, пошаговом и с точками останова. При выполнении в режиме реального времени программа выполняется полностью адекватно целевой системе без эмулятора. Остановов в контрольных точках при этом не происходит (однако возможен останов выполнения по желанию пользователя). В режиме с точками останова пользовательская программа запускается аналогично режиму реального времени, однако разрешается отслеживание контрольных точек. По ходу выполнения МП/МК выставляет на внешнюю шину текущий адрес и, как только он совпадает с адресом точки останова, на МП/МК подается сигнал прерывания (в памяти точек останова по соответствующему адресу записывается 0 или 1, согласно уровню прерывания). Вектор прерывания настроен на переход к монитору. Под управлением монитора и программы, выполняемой инструментальной ЭВМ, происходит обмен данными (в управляющую ЭВМ поступает информация о состоянии внутренних регистров и ячеек памяти отлаживаемой системы, при необходимости, ЭВМ их изменяет и записывает новые значения в отлаживаемую систему). В пошаговом режиме программа пользователя выполняется последовательно по одной команде. Между выполнением команд программы пользователя происходят вызовы монитора.

Устройство пригодно для эмуляции широкого спектра МП/МК. Однако существует и ряд ограничений – МП/МК должны иметь возможность обращаться к памяти программ по внешней шине, разрядность шины должна соответствовать разрядности памяти программ/данных отладочного устройства. Кроме того, используется часть адресного пространства под монитор и занимается внешнее прерывание.

На основе описанной схемы в Гомельском государственном университете им. Ф.Скорины был спроектирован внутрисхемный эмулятор ANT-97, предназначенный, в первую очередь, для эмуляции широко распространенного у нас в стране и за рубежом семейства микроконтроллеров MCS51.

Эмулятор ANT-97 обладает следующими характеристиками:

в режиме реального времени (с возможностью останова выполнения по желанию пользователя);
в пошаговом режиме;
с точками останова;

В настоящее время эмуляторы ANT-97 производятся по лицензии на Гомельском многопрофильном предприятии “Шлях”.

ЛИТЕРАТУРА

1. Федорцов А.О., Зисельман И.М., Долинский М.С. "Внутрисхемныйэмулятор ANT-97", Минск, Бюллетень "Радиорынок", 1998, No.1.

2. Федорцов А.О, Зисельман И.М., Долинский М.С. "Внутрисхемный эмулятор микроконтроллеров семейства MCS51", Минск, Радиолюбитель. No.8,9. 1998г.


Published by NewIT Labs
NEW IT Labs